#ifndef MINIONDATA_H
#define MINIONDATA_H

enum ObjectType
{
    FriendlyMinion = 0,
    HostileMinion,
    FriendlyMini,
    HostileMini,
    FriendlyTower,
    HostileTower,
    Count
};

struct MinionData
{
    int Level;
    double X = 0.0;
    double Y = 0.0;
    double Orientation = 0.0; // from 0.0 to 1.0; 0.0=north, 0.25=east, etc.
    int Team = 0;

    int Power = 0;
    int Armor = 0;
    double Health = 0;
    double MaxHealth = 0;
    double FireRate = 0; // shots/second
    int Sight = 0;
    int Range = 0;
    double Speed = 0; // pixels/second

    MinionData() {}

    MinionData(int level, double x, double y, double orientation,
               int team, int power, int armor,
               double health, double maxhealth,
               double firerate, int sight, int range, double speed)
    {
        Level = level;
        X = x;
        Y = y;
        Orientation = orientation;
        Team = team;
        Power = power;
        Armor = armor;
        Health = health;
        MaxHealth = maxhealth;
        FireRate = firerate;
        Sight = sight;
        Range = range;
        Speed = speed;
    }
};

#endif // MINIONDATA_H
